package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 举报管理，用于记录和处理用户的举报对象 hyrj_report
 * 
 * @author ruoyi
 * @date 2024-03-08
 */
public class HyrjReport extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 举报ID，主键，自动增长 */
    private Long id;

    /** 举报人ID，唯一标识举报人的字段 */
    @Excel(name = "举报人ID，唯一标识举报人的字段")
    private Long reporterId;

    private String reporterName;

    /** 被举报人ID，唯一标识被举报人的字段 */
    @Excel(name = "被举报人ID，唯一标识被举报人的字段")
    private Long reportedPersonId;

    private String reportedPersonName;

    /** 举报时间，记录举报发生的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "举报时间，记录举报发生的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportTime;

    /** 举报内容，详细描述举报的具体内容或行为 */
    @Excel(name = "举报内容，详细描述举报的具体内容或行为")
    private String reportContent;

    /** 举报状态，如待审核、已处理、无效等 */
    @Excel(name = "举报状态，如待审核、已处理、无效等")
    private String reportStatus;

    /** 审核时间，记录举报审核完成的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间，记录举报审核完成的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;

    /** 审核结果，如属实、不属实、不确定等 */
    @Excel(name = "审核结果，如属实、不属实、不确定等")
    private String auditResult;

    /** 处理建议，审核人提出的对举报的处理建议或措施 */
    @Excel(name = "处理建议，审核人提出的对举报的处理建议或措施")
    private String handlingSuggestion;

    /** 附件链接，如果举报涉及到图片、视频或其他文件，存储文件的链接或路径 */
    @Excel(name = "附件链接，如果举报涉及到图片、视频或其他文件，存储文件的链接或路径")
    private String attachmentLink;

    /** 备注，用于记录其他需要注意的信息或特殊情况 */
    @Excel(name = "备注，用于记录其他需要注意的信息或特殊情况")
    private String remarks;

    private String machineNo;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setReporterId(Long reporterId) 
    {
        this.reporterId = reporterId;
    }

    public Long getReporterId() 
    {
        return reporterId;
    }
    public void setReportedPersonId(Long reportedPersonId) 
    {
        this.reportedPersonId = reportedPersonId;
    }

    public Long getReportedPersonId() 
    {
        return reportedPersonId;
    }
    public void setReportTime(Date reportTime) 
    {
        this.reportTime = reportTime;
    }

    public Date getReportTime() 
    {
        return reportTime;
    }
    public void setReportContent(String reportContent) 
    {
        this.reportContent = reportContent;
    }

    public String getReportContent() 
    {
        return reportContent;
    }
    public void setReportStatus(String reportStatus) 
    {
        this.reportStatus = reportStatus;
    }

    public String getReportStatus() 
    {
        return reportStatus;
    }
    public void setAuditTime(Date auditTime) 
    {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() 
    {
        return auditTime;
    }
    public void setAuditResult(String auditResult) 
    {
        this.auditResult = auditResult;
    }

    public String getAuditResult() 
    {
        return auditResult;
    }
    public void setHandlingSuggestion(String handlingSuggestion) 
    {
        this.handlingSuggestion = handlingSuggestion;
    }

    public String getHandlingSuggestion() 
    {
        return handlingSuggestion;
    }
    public void setAttachmentLink(String attachmentLink) 
    {
        this.attachmentLink = attachmentLink;
    }

    public String getAttachmentLink() 
    {
        return attachmentLink;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public String getMachineNo() {
        return machineNo;
    }

    public void setMachineNo(String machineNo) {
        this.machineNo = machineNo;
    }


    public String getReporterName() {
        return reporterName;
    }

    public void setReporterName(String reporterName) {
        this.reporterName = reporterName;
    }

    public String getReportedPersonName() {
        return reportedPersonName;
    }

    public void setReportedPersonName(String reportedPersonName) {
        this.reportedPersonName = reportedPersonName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("reporterId", getReporterId())
            .append("reportedPersonId", getReportedPersonId())
            .append("reportTime", getReportTime())
            .append("reportContent", getReportContent())
            .append("reportStatus", getReportStatus())
            .append("auditTime", getAuditTime())
            .append("auditResult", getAuditResult())
            .append("handlingSuggestion", getHandlingSuggestion())
            .append("attachmentLink", getAttachmentLink())
            .append("remarks", getRemarks())
            .toString();
    }
}
